package com.mlk.engUser.po;

import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mlk.core.constants.Constant;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.NotBlank;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author trekxu
 * @since 2019-06-17
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class EngUser implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    @ApiModelProperty(hidden = true)
    private Integer id;
    /**
     * 用户的id
     */
    private String openId;
    /**
     * 用户姓名
     */
    @NotBlank(message = "用户的姓名不能为空")
    private String name;
    /**
     * 用户手机号码
     */
    @NotBlank(message = "用户的手机号不能为空")
    private String phone;
    /**
     * 用户的密码
     */
    @NotBlank(message = "用户的密码不能为空")
    private String password;
    /**
     * 注册时间
     */
    @JsonFormat(pattern = Constant.DATE_TIME_FORMAT)
    private Date registeTime;
    /**
     * 店铺名称
     */
    @NotBlank(message = "店铺的名称不能为空")
    private String shopName;
    /**
     * 负责人
     */
    @NotBlank(message = "店铺的负责人不能为空")
    private String managerName;
    /**
     * 微信号
     */
    @NotBlank(message = "负责人的微信号不能为空")
    private String wxCode;
    /**
     * 店铺类型
     */
    //@NotNull(message = "店铺的类型不能为空")
    private Integer shopType;
    /**
     * 店铺地址
     */
    @NotBlank(message = "店铺的地址不能为空")
    private String shopAddress;

    /**
     * 用户余额
     */
    private BigDecimal remain;

    /**
     * 用户积分
     */
    private Integer score;

}
